[INFO] cloning repository https://github.com/hyperpolymath/wokelang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hyperpolymath/wokelang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhyperpolymath%2Fwokelang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhyperpolymath%2Fwokelang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 19688bcf086b3d6c58214fdaa9187ccfa8ac7055
[INFO] fixing hyperpolymath/wokelang against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhyperpolymath%2Fwokelang" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/hyperpolymath/wokelang
[INFO] finished tweaking git repo https://github.com/hyperpolymath/wokelang
[INFO] tweaked toml for git repo https://github.com/hyperpolymath/wokelang written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hyperpolymath/wokelang on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hyperpolymath/wokelang already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9f8f839d225d1725b131372aea63bc57e9f265e92223f7d469e5e078daea83f8
[INFO] running `Command { std: "docker" "start" "9f8f839d225d1725b131372aea63bc57e9f265e92223f7d469e5e078daea83f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f8f839d225d1725b131372aea63bc57e9f265e92223f7d469e5e078daea83f8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f8f839d225d1725b131372aea63bc57e9f265e92223f7d469e5e078daea83f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f8f839d225d1725b131372aea63bc57e9f265e92223f7d469e5e078daea83f8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking rustc-demangle v0.1.27
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling logos-codegen v0.14.4
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]     Checking is_ci v1.2.0
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]     Checking supports-color v3.0.2
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling tower-lsp-macros v0.9.0
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling rustyline-derive v0.10.0
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]     Checking supports-hyperlinks v3.2.0
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]     Checking pin-project v1.1.11
[INFO] [stderr]     Checking supports-unicode v3.0.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]    Compiling logos-derive v0.14.4
[INFO] [stderr]     Checking logos v0.14.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking proptest v1.11.0
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking rustyline v14.0.0
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking backtrace-ext v0.2.1
[INFO] [stderr]     Checking miette v7.6.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking lsp-types v0.94.1
[INFO] [stderr]     Checking lsp-types v0.95.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower-lsp v0.20.0
[INFO] [stderr]     Checking wokelang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `wokelang`
[INFO] [stderr]  --> src/interpreter/mod.rs
[INFO] [stderr]  ::: src/interpreter/value.rs
[INFO] [stderr]  ::: src/lexer/mod.rs
[INFO] [stderr]  ::: src/lexer/token.rs
[INFO] [stderr]  ::: src/lsp/document.rs
[INFO] [stderr]  ::: src/parser/mod.rs
[INFO] [stderr]  ::: src/repl.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]              --> src/lexer/token.rs:31:16
[INFO] [stderr]               |
[INFO] [stderr]            31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stderr]               |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:32:3
[INFO] [stderr]               |
[INFO] [stderr]            32 | #[logos(skip r"[ \t\n\r\f]+")]
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:33:3
[INFO] [stderr]               |
[INFO] [stderr]            33 | #[logos(skip r"//[^\n]*")]
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:34:3
[INFO] [stderr]               |
[INFO] [stderr]            34 | #[logos(skip r"/\*[^*]*\*+(?:[^/*][^*]*\*+)*/")]
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("to")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:40:7
[INFO] [stderr]               |
[INFO] [stderr]            40 |     #[token("give")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token("back")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:46:7
[INFO] [stderr]               |
[INFO] [stderr]            46 |     #[token("remember")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("when")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token("otherwise")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:55:7
[INFO] [stderr]               |
[INFO] [stderr]            55 |     #[token("repeat")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:57:7
[INFO] [stderr]               |
[INFO] [stderr]            57 |     #[token("break")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token("continue")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:63:7
[INFO] [stderr]               |
[INFO] [stderr]            63 |     #[token("while")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:66:7
[INFO] [stderr]               |
[INFO] [stderr]            66 |     #[token("times")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[token("only")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:73:7
[INFO] [stderr]               |
[INFO] [stderr]            73 |     #[token("if")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:76:7
[INFO] [stderr]               |
[INFO] [stderr]            76 |     #[token("okay")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:79:7
[INFO] [stderr]               |
[INFO] [stderr]            79 |     #[token("attempt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[token("safely")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:85:7
[INFO] [stderr]               |
[INFO] [stderr]            85 |     #[token("reassure")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:88:7
[INFO] [stderr]               |
[INFO] [stderr]            88 |     #[token("complain")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("thanks")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:96:7
[INFO] [stderr]               |
[INFO] [stderr]            96 |     #[token("hello")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:99:7
[INFO] [stderr]               |
[INFO] [stderr]            99 |     #[token("goodbye")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:103:7
[INFO] [stderr]                |
[INFO] [stderr]            103 |     #[token("worker")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:106:7
[INFO] [stderr]                |
[INFO] [stderr]            106 |     #[token("side")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:109:7
[INFO] [stderr]                |
[INFO] [stderr]            109 |     #[token("quest")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:112:7
[INFO] [stderr]                |
[INFO] [stderr]            112 |     #[token("superpower")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:115:7
[INFO] [stderr]                |
[INFO] [stderr]            115 |     #[token("spawn")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:118:7
[INFO] [stderr]                |
[INFO] [stderr]            118 |     #[token("send")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:121:7
[INFO] [stderr]                |
[INFO] [stderr]            121 |     #[token("receive")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:124:7
[INFO] [stderr]                |
[INFO] [stderr]            124 |     #[token("from")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:127:7
[INFO] [stderr]                |
[INFO] [stderr]            127 |     #[token("await")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:130:7
[INFO] [stderr]                |
[INFO] [stderr]            130 |     #[token("cancel")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:133:7
[INFO] [stderr]                |
[INFO] [stderr]            133 |     #[token("channel")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:137:7
[INFO] [stderr]                |
[INFO] [stderr]            137 |     #[token("decide")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:140:7
[INFO] [stderr]                |
[INFO] [stderr]            140 |     #[token("based")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:143:7
[INFO] [stderr]                |
[INFO] [stderr]            143 |     #[token("on")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:147:7
[INFO] [stderr]                |
[INFO] [stderr]            147 |     #[token("measured")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:150:7
[INFO] [stderr]                |
[INFO] [stderr]            150 |     #[token("in")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:154:7
[INFO] [stderr]                |
[INFO] [stderr]            154 |     #[token("use")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:157:7
[INFO] [stderr]                |
[INFO] [stderr]            157 |     #[token("renamed")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:161:7
[INFO] [stderr]                |
[INFO] [stderr]            161 |     #[token("type")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:164:7
[INFO] [stderr]                |
[INFO] [stderr]            164 |     #[token("const")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:167:7
[INFO] [stderr]                |
[INFO] [stderr]            167 |     #[token("String")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:170:7
[INFO] [stderr]                |
[INFO] [stderr]            170 |     #[token("Int")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:173:7
[INFO] [stderr]                |
[INFO] [stderr]            173 |     #[token("Float")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:176:7
[INFO] [stderr]                |
[INFO] [stderr]            176 |     #[token("Bool")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:179:7
[INFO] [stderr]                |
[INFO] [stderr]            179 |     #[token("Maybe")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:183:7
[INFO] [stderr]                |
[INFO] [stderr]            183 |     #[token("must")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:186:7
[INFO] [stderr]                |
[INFO] [stderr]            186 |     #[token("have")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:190:7
[INFO] [stderr]                |
[INFO] [stderr]            190 |     #[token("care")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:193:7
[INFO] [stderr]                |
[INFO] [stderr]            193 |     #[token("strict")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:196:7
[INFO] [stderr]                |
[INFO] [stderr]            196 |     #[token("verbose")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:200:7
[INFO] [stderr]                |
[INFO] [stderr]            200 |     #[token("true")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:203:7
[INFO] [stderr]                |
[INFO] [stderr]            203 |     #[token("false")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:206:7
[INFO] [stderr]                |
[INFO] [stderr]            206 |     #[token("and")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:209:7
[INFO] [stderr]                |
[INFO] [stderr]            209 |     #[token("or")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:212:7
[INFO] [stderr]                |
[INFO] [stderr]            212 |     #[token("not")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:216:7
[INFO] [stderr]                |
[INFO] [stderr]            216 |     #[token("+")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:219:7
[INFO] [stderr]                |
[INFO] [stderr]            219 |     #[token("-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:222:7
[INFO] [stderr]                |
[INFO] [stderr]            222 |     #[token("*")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:225:7
[INFO] [stderr]                |
[INFO] [stderr]            225 |     #[token("/")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:228:7
[INFO] [stderr]                |
[INFO] [stderr]            228 |     #[token("%")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:231:7
[INFO] [stderr]                |
[INFO] [stderr]            231 |     #[token("==")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:234:7
[INFO] [stderr]                |
[INFO] [stderr]            234 |     #[token("!=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:237:7
[INFO] [stderr]                |
[INFO] [stderr]            237 |     #[token("<")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:240:7
[INFO] [stderr]                |
[INFO] [stderr]            240 |     #[token(">")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:243:7
[INFO] [stderr]                |
[INFO] [stderr]            243 |     #[token("<=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:246:7
[INFO] [stderr]                |
[INFO] [stderr]            246 |     #[token(">=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:249:7
[INFO] [stderr]                |
[INFO] [stderr]            249 |     #[token("=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:252:7
[INFO] [stderr]                |
[INFO] [stderr]            252 |     #[token("→")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:255:7
[INFO] [stderr]                |
[INFO] [stderr]            255 |     #[token("->")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:259:7
[INFO] [stderr]                |
[INFO] [stderr]            259 |     #[token("(")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:262:7
[INFO] [stderr]                |
[INFO] [stderr]            262 |     #[token(")")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:265:7
[INFO] [stderr]                |
[INFO] [stderr]            265 |     #[token("{")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:268:7
[INFO] [stderr]                |
[INFO] [stderr]            268 |     #[token("}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:271:7
[INFO] [stderr]                |
[INFO] [stderr]            271 |     #[token("[")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:274:7
[INFO] [stderr]                |
[INFO] [stderr]            274 |     #[token("]")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:277:7
[INFO] [stderr]                |
[INFO] [stderr]            277 |     #[token(",")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:280:7
[INFO] [stderr]                |
[INFO] [stderr]            280 |     #[token(";")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:283:7
[INFO] [stderr]                |
[INFO] [stderr]            283 |     #[token(":")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:286:7
[INFO] [stderr]                |
[INFO] [stderr]            286 |     #[token(".")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:289:7
[INFO] [stderr]                |
[INFO] [stderr]            289 |     #[token("@")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:292:7
[INFO] [stderr]                |
[INFO] [stderr]            292 |     #[token("&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:295:7
[INFO] [stderr]                |
[INFO] [stderr]            295 |     #[token("|")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:298:7
[INFO] [stderr]                |
[INFO] [stderr]            298 |     #[token("#")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:301:7
[INFO] [stderr]                |
[INFO] [stderr]            301 |     #[token("_")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:305:7
[INFO] [stderr]                |
[INFO] [stderr]            305 |     #[regex(r"[0-9]+", |lex| lex.slice().parse::<i64>().ok())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:308:7
[INFO] [stderr]                |
[INFO] [stderr]            308 |     #[regex(r"[0-9]+\.[0-9]+", |lex| lex.slice().parse::<f64>().ok())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:311:7
[INFO] [stderr]                |
[INFO] [stderr]            311 |     #[regex(r#""([^"\\]|\\.)*""#, parse_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:315:7
[INFO] [stderr]                |
[INFO] [stderr]            315 |     #[regex(r"[a-zA-Z][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `token::Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lexer/token.rs:5:27
[INFO] [stderr]               |
[INFO] [stderr]             5 | fn parse_string(lex: &mut logos::Lexer<Token>) -> Option<String> {
[INFO] [stderr]               |                           ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `token::Token`
[INFO] [stderr]              --> src/lexer/token.rs:35:1
[INFO] [stderr]               |
[INFO] [stderr]            35 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:34
[INFO] [stderr]               |
[INFO] [stderr]            13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]               |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut logos::Lexer<'_, token::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lexer/token.rs:6:21
[INFO] [stderr]               |
[INFO] [stderr]             6 |     let slice = lex.slice();
[INFO] [stderr]               |                     ^^^^^ method cannot be called on `&mut logos::Lexer<'_, token::Token>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            35 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `token::Token: Logos<'_>`
[INFO] [stderr]               |
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `token::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `token::Token` in the current scope
[INFO] [stderr]              --> src/lexer/mod.rs:44:32
[INFO] [stderr]               |
[INFO] [stderr]            44 |         let mut lexer = Token::lexer(self.source);
[INFO] [stderr]               |                                ^^^^^ variant, associated function, or constant not found in `token::Token`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lexer/token.rs:35:1
[INFO] [stderr]               |
[INFO] [stderr]            35 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]              --> src/lsp/document.rs:61:42
[INFO] [stderr]               |
[INFO] [stderr]            61 |             let mut parser = Parser::new(tokens.clone(), &self.source);
[INFO] [stderr]               |                              ----------- ^^^^^^^^^^^^^^ expected `Vec<Spanned<Token>>`, found `&Vec<Spanned<Token>>`
[INFO] [stderr]               |                              |
[INFO] [stderr]               |                              arguments to this function are incorrect
[INFO] [stderr]               |
[INFO] [stderr]               = note: expected struct `Vec<_>`
[INFO] [stderr]                       found reference `&Vec<_>`
[INFO] [stderr]            note: `Vec<lexer::Spanned<token::Token>>` does not implement `Clone`, so `&Vec<lexer::Spanned<token::Token>>` was cloned instead
[INFO] [stderr]              --> src/lsp/document.rs:61:42
[INFO] [stderr]               |
[INFO] [stderr]            61 |             let mut parser = Parser::new(tokens.clone(), &self.source);
[INFO] [stderr]               |                                          ^^^^^^
[INFO] [stderr]            help: `Clone` is not implemented because a trait bound is not satisfied
[INFO] [stderr]              --> src/lexer/mod.rs:22:20
[INFO] [stderr]               |
[INFO] [stderr]            21 | #[derive(Debug, Clone)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            22 | pub struct Spanned<T> {
[INFO] [stderr]               |                    ^ derive introduces an implicit `token::Token: Clone` bound
[INFO] [stderr]               = help: consider manually implementing `Clone` to avoid the implicit type parameter bounds
[INFO] [stderr]            note: associated function defined here
[INFO] [stderr]              --> src/parser/mod.rs:65:12
[INFO] [stderr]               |
[INFO] [stderr]            65 |     pub fn new(tokens: Vec<LexerSpanned<Token>>, source: &'a str) -> Self {
[INFO] [stderr]               |            ^^^ --------------------------------
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]               |
[INFO] [stderr]            61 -             let mut parser = Parser::new(tokens.clone(), &self.source);
[INFO] [stderr]            61 +             let mut parser = Parser::new(tokens.to_vec(), &self.source);
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `token::Token` with `#[derive(Clone)]`
[INFO] [stderr]              --> src/lexer/token.rs:35:1
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Clone)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:226:64
[INFO] [stderr]                |
[INFO] [stderr]            226 |                 Ok(Spanned::new(Expr::Literal(Literal::Integer(n)), start..end))
[INFO] [stderr]                |                                               ---------------- ^ expected `i64`, found `&i64`
[INFO] [stderr]                |                                               |
[INFO] [stderr]                |                                               arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:372:5
[INFO] [stderr]                |
[INFO] [stderr]            372 |     Integer(i64),
[INFO] [stderr]                |     ^^^^^^^
[INFO] [stderr]            help: consider dereferencing the borrow
[INFO] [stderr]                |
[INFO] [stderr]            226 |                 Ok(Spanned::new(Expr::Literal(Literal::Integer(*n)), start..end))
[INFO] [stderr]                |                                                                +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:231:62
[INFO] [stderr]                |
[INFO] [stderr]            231 |                 Ok(Spanned::new(Expr::Literal(Literal::Float(f)), start..end))
[INFO] [stderr]                |                                               -------------- ^ expected `f64`, found `&f64`
[INFO] [stderr]                |                                               |
[INFO] [stderr]                |                                               arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:373:5
[INFO] [stderr]                |
[INFO] [stderr]            373 |     Float(f64),
[INFO] [stderr]                |     ^^^^^
[INFO] [stderr]            help: consider dereferencing the borrow
[INFO] [stderr]                |
[INFO] [stderr]            231 |                 Ok(Spanned::new(Expr::Literal(Literal::Float(*f)), start..end))
[INFO] [stderr]                |                                                              +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:236:63
[INFO] [stderr]                |
[INFO] [stderr]            236 |                 Ok(Spanned::new(Expr::Literal(Literal::String(s)), start..end))
[INFO] [stderr]                |                                               --------------- ^ expected `String`, found `&String`
[INFO] [stderr]                |                                               |
[INFO] [stderr]                |                                               arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:374:5
[INFO] [stderr]                |
[INFO] [stderr]            374 |     String(String),
[INFO] [stderr]                |     ^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            236 |                 Ok(Spanned::new(Expr::Literal(Literal::String(s.to_string())), start..end))
[INFO] [stderr]                |                                                                ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:261:47
[INFO] [stderr]                |
[INFO] [stderr]            261 |                     self.parse_record_literal(name, start)
[INFO] [stderr]                |                          -------------------- ^^^^ expected `String`, found `&String`
[INFO] [stderr]                |                          |
[INFO] [stderr]                |                          arguments to this method are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: method defined here
[INFO] [stderr]               --> src/parser/mod.rs:416:8
[INFO] [stderr]                |
[INFO] [stderr]            416 |     fn parse_record_literal(
[INFO] [stderr]                |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            417 |         &mut self,
[INFO] [stderr]            418 |         type_name: String,
[INFO] [stderr]                |         -----------------
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            261 |                     self.parse_record_literal(name.to_string(), start)
[INFO] [stderr]                |                                                   ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:265:37
[INFO] [stderr]                |
[INFO] [stderr]            265 |                     self.parse_call(name, start)
[INFO] [stderr]                |                          ---------- ^^^^ expected `String`, found `&String`
[INFO] [stderr]                |                          |
[INFO] [stderr]                |                          arguments to this method are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: method defined here
[INFO] [stderr]               --> src/parser/mod.rs:540:8
[INFO] [stderr]                |
[INFO] [stderr]            540 |     fn parse_call(&mut self, func_name: String, start: usize) -> Result<Spanned<Expr>, ParseError> {
[INFO] [stderr]                |        ^^^^^^^^^^            -----------------
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            265 |                     self.parse_call(name.to_string(), start)
[INFO] [stderr]                |                                         ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:267:54
[INFO] [stderr]                |
[INFO] [stderr]            267 |                     Ok(Spanned::new(Expr::Identifier(name), start..end))
[INFO] [stderr]                |                                     ---------------- ^^^^ expected `String`, found `&String`
[INFO] [stderr]                |                                     |
[INFO] [stderr]                |                                     arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:313:5
[INFO] [stderr]                |
[INFO] [stderr]            313 |     Identifier(String),
[INFO] [stderr]                |     ^^^^^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            267 |                     Ok(Spanned::new(Expr::Identifier(name.to_string()), start..end))
[INFO] [stderr]                |                                                          ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:959:54
[INFO] [stderr]                |
[INFO] [stderr]            959 |                 Ok(Pattern::Literal(Literal::Integer(n)))
[INFO] [stderr]                |                                     ---------------- ^ expected `i64`, found `&i64`
[INFO] [stderr]                |                                     |
[INFO] [stderr]                |                                     arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:372:5
[INFO] [stderr]                |
[INFO] [stderr]            372 |     Integer(i64),
[INFO] [stderr]                |     ^^^^^^^
[INFO] [stderr]            help: consider dereferencing the borrow
[INFO] [stderr]                |
[INFO] [stderr]            959 |                 Ok(Pattern::Literal(Literal::Integer(*n)))
[INFO] [stderr]                |                                                      +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:963:53
[INFO] [stderr]                |
[INFO] [stderr]            963 |                 Ok(Pattern::Literal(Literal::String(s)))
[INFO] [stderr]                |                                     --------------- ^ expected `String`, found `&String`
[INFO] [stderr]                |                                     |
[INFO] [stderr]                |                                     arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:374:5
[INFO] [stderr]                |
[INFO] [stderr]            374 |     String(String),
[INFO] [stderr]                |     ^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            963 |                 Ok(Pattern::Literal(Literal::String(s.to_string())))
[INFO] [stderr]                |                                                      ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]                --> src/parser/mod.rs:1045:48
[INFO] [stderr]                 |
[INFO] [stderr]            1045 | ...                   EmoteValue::Number(f)
[INFO] [stderr]                 |                       ------------------ ^ expected `f64`, found `&f64`
[INFO] [stderr]                 |                       |
[INFO] [stderr]                 |                       arguments to this enum variant are incorrect
[INFO] [stderr]                 |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]                --> src/ast/mod.rs:414:5
[INFO] [stderr]                 |
[INFO] [stderr]             414 |     Number(f64),
[INFO] [stderr]                 |     ^^^^^^
[INFO] [stderr]            help: consider dereferencing the borrow
[INFO] [stderr]                 |
[INFO] [stderr]            1045 |                             EmoteValue::Number(*f)
[INFO] [stderr]                 |                                                +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]                --> src/parser/mod.rs:1049:48
[INFO] [stderr]                 |
[INFO] [stderr]            1049 | ...                   EmoteValue::String(s)
[INFO] [stderr]                 |                       ------------------ ^ expected `String`, found `&String`
[INFO] [stderr]                 |                       |
[INFO] [stderr]                 |                       arguments to this enum variant are incorrect
[INFO] [stderr]                 |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]                --> src/ast/mod.rs:415:5
[INFO] [stderr]                 |
[INFO] [stderr]             415 |     String(String),
[INFO] [stderr]                 |     ^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                 |
[INFO] [stderr]            1049 |                             EmoteValue::String(s.to_string())
[INFO] [stderr]                 |                                                 ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]                --> src/parser/mod.rs:1053:52
[INFO] [stderr]                 |
[INFO] [stderr]            1053 | ...                   EmoteValue::Identifier(id)
[INFO] [stderr]                 |                       ---------------------- ^^ expected `String`, found `&String`
[INFO] [stderr]                 |                       |
[INFO] [stderr]                 |                       arguments to this enum variant are incorrect
[INFO] [stderr]                 |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]                --> src/ast/mod.rs:416:5
[INFO] [stderr]                 |
[INFO] [stderr]             416 |     Identifier(String),
[INFO] [stderr]                 |     ^^^^^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                 |
[INFO] [stderr]            1053 |                             EmoteValue::Identifier(id.to_string())
[INFO] [stderr]                 |                                                      ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0606]: casting `&i64` as `f64` is invalid
[INFO] [stderr]                --> src/parser/mod.rs:1041:48
[INFO] [stderr]                 |
[INFO] [stderr]            1041 | ...                   EmoteValue::Number(n as f64)
[INFO] [stderr]                 |                                          ^^^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]            help: dereference the expression
[INFO] [stderr]                 |
[INFO] [stderr]            1041 |                             EmoteValue::Number(*n as f64)
[INFO] [stderr]                 |                                                +
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/value.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let receiver = self.receiver.lock().unwrap();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `receiver` calls a custom destructor
[INFO] [stdout]     |             `receiver` will be dropped later as of Edition 2024
[INFO] [stdout] 141 |         match receiver.try_recv() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `receiver` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/value.rs:154:15
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let receiver = self.receiver.lock().unwrap();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `receiver` calls a custom destructor
[INFO] [stdout]     |             `receiver` will be dropped later as of Edition 2024
[INFO] [stdout] 154 |         match receiver.recv_timeout(Duration::from_millis(timeout_ms)) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 159 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `receiver` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/interpreter/mod.rs:1422:15
[INFO] [stdout]      |
[INFO] [stdout] 1397 |         let mut interp = Interpreter::new();
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `interp` calls a custom destructor
[INFO] [stdout]      |             `interp` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1422 |         match interp.eval_expr(&oops).unwrap() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1426 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `interp` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `interp` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/repl.rs:46:37
[INFO] [stdout]     |
[INFO] [stdout]  46 |                     if let Err(e) = self.execute(line) {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |    |
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/miette-7.6.0/src/eyreish/error.rs:475:1
[INFO] [stdout]     |
[INFO] [stdout] 475 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/miette-7.6.0/src/eyreish/error.rs:475:1
[INFO] [stdout]     |
[INFO] [stdout] 475 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/interpreter/value.rs:141:15
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/bytecode.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout]     |                          ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 167 -             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout] 167 +             OpCode::Jump(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/bytecode.rs:168:33
[INFO] [stdout]     |
[INFO] [stdout] 168 |             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout]     |                                 ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 168 -             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout] 168 +             OpCode::JumpIfFalse(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            140 |         let receiver = self.receiver.lock().unwrap();
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/bytecode.rs:169:32
[INFO] [stdout]     |
[INFO] [stdout] 169 |             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout]     |                                ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 169 -             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout] 169 +             OpCode::JumpIfTrue(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |             --------
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/optimizer.rs:280:30
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 OpCode::Jump(ref mut target) => {
[INFO] [stdout]     |                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 OpCode::Jump(ref mut target) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 OpCode::Jump(ref mut target) => {
[INFO] [stdout] 280 +                 OpCode::Jump(target) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |             |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/optimizer.rs:285:37
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                                     ^^^^^^^                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:285:55
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:285:17
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 285 -                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout] 285 +                 OpCode::JumpIfFalse(target) | OpCode::JumpIfTrue(target)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |             `receiver` calls a custom destructor
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, token::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |             `receiver` will be dropped later as of Edition 2024
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, token::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            141 |         match receiver.try_recv() {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, token::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, token::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |               |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, token::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            146 |     }
[INFO] [stderr]                |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stderr]            note: `receiver` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/interpreter/value.rs:154:15
[INFO] [stderr]                |
[INFO] [stderr]            153 |         let receiver = self.receiver.lock().unwrap();
[INFO] [stderr]                |             --------
[INFO] [stderr]                |             |
[INFO] [stderr]                |             `receiver` calls a custom destructor
[INFO] [stderr]                |             `receiver` will be dropped later as of Edition 2024
[INFO] [stderr]            154 |         match receiver.recv_timeout(Duration::from_millis(timeout_ms)) {
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |               |
[INFO] [stderr]                |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            159 |     }
[INFO] [stderr]                |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stderr]            note: `receiver` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]                --> src/interpreter/mod.rs:1422:15
[INFO] [stderr]                 |
[INFO] [stderr]            1397 |         let mut interp = Interpreter::new();
[INFO] [stderr]                 |             ----------
[INFO] [stderr]                 |             |
[INFO] [stderr]                 |             `interp` calls a custom destructor
[INFO] [stderr]                 |             `interp` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1422 |         match interp.eval_expr(&oops).unwrap() {
[INFO] [stderr]                 |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |               |
[INFO] [stderr]                 |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                 |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1426 |     }
[INFO] [stderr]                 |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                 |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stderr]            note: `interp` invokes this custom destructor
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stderr]            note: `interp` invokes this custom destructor
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stderr]                 = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                 = warning: this changes meaning in Rust 2024
[INFO] [stderr]                 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/repl.rs:46:37
[INFO] [stderr]                |
[INFO] [stderr]             46 |                     if let Err(e) = self.execute(line) {
[INFO] [stderr]                |                                -    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                                |    |
[INFO] [stderr]                |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                                `e` calls a custom destructor
[INFO] [stderr]                |                                `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]             49 |                 }
[INFO] [stderr]                |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/miette-7.6.0/src/eyreish/error.rs:475:1
[INFO] [stderr]                |
[INFO] [stderr]            475 | impl Drop for Report {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/miette-7.6.0/src/eyreish/error.rs:475:1
[INFO] [stderr]                |
[INFO] [stderr]            475 | impl Drop for Report {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 109 previous errors; 4 warnings emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0308, E0599, E0606.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr] error: errors present after applying fixes to crate `wokelang`
[INFO] [stderr]  --> src/interpreter/value.rs
[INFO] [stderr]  ::: src/lexer/mod.rs
[INFO] [stderr]  ::: src/lexer/token.rs
[INFO] [stderr]  ::: src/lsp/document.rs
[INFO] [stderr]  ::: src/parser/mod.rs
[INFO] [stderr]  ::: src/repl.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]              --> src/lexer/token.rs:31:16
[INFO] [stderr]               |
[INFO] [stderr]            31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stderr]               |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:32:3
[INFO] [stderr]               |
[INFO] [stderr]            32 | #[logos(skip r"[ \t\n\r\f]+")]
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:33:3
[INFO] [stderr]               |
[INFO] [stderr]            33 | #[logos(skip r"//[^\n]*")]
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:34:3
[INFO] [stderr]               |
[INFO] [stderr]            34 | #[logos(skip r"/\*[^*]*\*+(?:[^/*][^*]*\*+)*/")]
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("to")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:40:7
[INFO] [stderr]               |
[INFO] [stderr]            40 |     #[token("give")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token("back")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:46:7
[INFO] [stderr]               |
[INFO] [stderr]            46 |     #[token("remember")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("when")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token("otherwise")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:55:7
[INFO] [stderr]               |
[INFO] [stderr]            55 |     #[token("repeat")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:57:7
[INFO] [stderr]               |
[INFO] [stderr]            57 |     #[token("break")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token("continue")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:63:7
[INFO] [stderr]               |
[INFO] [stderr]            63 |     #[token("while")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:66:7
[INFO] [stderr]               |
[INFO] [stderr]            66 |     #[token("times")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[token("only")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:73:7
[INFO] [stderr]               |
[INFO] [stderr]            73 |     #[token("if")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:76:7
[INFO] [stderr]               |
[INFO] [stderr]            76 |     #[token("okay")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:79:7
[INFO] [stderr]               |
[INFO] [stderr]            79 |     #[token("attempt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[token("safely")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:85:7
[INFO] [stderr]               |
[INFO] [stderr]            85 |     #[token("reassure")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:88:7
[INFO] [stderr]               |
[INFO] [stderr]            88 |     #[token("complain")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("thanks")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:96:7
[INFO] [stderr]               |
[INFO] [stderr]            96 |     #[token("hello")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/token.rs:99:7
[INFO] [stderr]               |
[INFO] [stderr]            99 |     #[token("goodbye")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Logos)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:103:7
[INFO] [stderr]                |
[INFO] [stderr]            103 |     #[token("worker")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:106:7
[INFO] [stderr]                |
[INFO] [stderr]            106 |     #[token("side")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:109:7
[INFO] [stderr]                |
[INFO] [stderr]            109 |     #[token("quest")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:112:7
[INFO] [stderr]                |
[INFO] [stderr]            112 |     #[token("superpower")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:115:7
[INFO] [stderr]                |
[INFO] [stderr]            115 |     #[token("spawn")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:118:7
[INFO] [stderr]                |
[INFO] [stderr]            118 |     #[token("send")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:121:7
[INFO] [stderr]                |
[INFO] [stderr]            121 |     #[token("receive")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:124:7
[INFO] [stderr]                |
[INFO] [stderr]            124 |     #[token("from")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:127:7
[INFO] [stderr]                |
[INFO] [stderr]            127 |     #[token("await")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:130:7
[INFO] [stderr]                |
[INFO] [stderr]            130 |     #[token("cancel")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:133:7
[INFO] [stderr]                |
[INFO] [stderr]            133 |     #[token("channel")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:137:7
[INFO] [stderr]                |
[INFO] [stderr]            137 |     #[token("decide")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:140:7
[INFO] [stderr]                |
[INFO] [stderr]            140 |     #[token("based")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:143:7
[INFO] [stderr]                |
[INFO] [stderr]            143 |     #[token("on")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:147:7
[INFO] [stderr]                |
[INFO] [stderr]            147 |     #[token("measured")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:150:7
[INFO] [stderr]                |
[INFO] [stderr]            150 |     #[token("in")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:154:7
[INFO] [stderr]                |
[INFO] [stderr]            154 |     #[token("use")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:157:7
[INFO] [stderr]                |
[INFO] [stderr]            157 |     #[token("renamed")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:161:7
[INFO] [stderr]                |
[INFO] [stderr]            161 |     #[token("type")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:164:7
[INFO] [stderr]                |
[INFO] [stderr]            164 |     #[token("const")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:167:7
[INFO] [stderr]                |
[INFO] [stderr]            167 |     #[token("String")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:170:7
[INFO] [stderr]                |
[INFO] [stderr]            170 |     #[token("Int")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:173:7
[INFO] [stderr]                |
[INFO] [stderr]            173 |     #[token("Float")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:176:7
[INFO] [stderr]                |
[INFO] [stderr]            176 |     #[token("Bool")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:179:7
[INFO] [stderr]                |
[INFO] [stderr]            179 |     #[token("Maybe")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:183:7
[INFO] [stderr]                |
[INFO] [stderr]            183 |     #[token("must")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:186:7
[INFO] [stderr]                |
[INFO] [stderr]            186 |     #[token("have")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:190:7
[INFO] [stderr]                |
[INFO] [stderr]            190 |     #[token("care")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:193:7
[INFO] [stderr]                |
[INFO] [stderr]            193 |     #[token("strict")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:196:7
[INFO] [stderr]                |
[INFO] [stderr]            196 |     #[token("verbose")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:200:7
[INFO] [stderr]                |
[INFO] [stderr]            200 |     #[token("true")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:203:7
[INFO] [stderr]                |
[INFO] [stderr]            203 |     #[token("false")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:206:7
[INFO] [stderr]                |
[INFO] [stderr]            206 |     #[token("and")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:209:7
[INFO] [stderr]                |
[INFO] [stderr]            209 |     #[token("or")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:212:7
[INFO] [stderr]                |
[INFO] [stderr]            212 |     #[token("not")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:216:7
[INFO] [stderr]                |
[INFO] [stderr]            216 |     #[token("+")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:219:7
[INFO] [stderr]                |
[INFO] [stderr]            219 |     #[token("-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:222:7
[INFO] [stderr]                |
[INFO] [stderr]            222 |     #[token("*")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:225:7
[INFO] [stderr]                |
[INFO] [stderr]            225 |     #[token("/")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:228:7
[INFO] [stderr]                |
[INFO] [stderr]            228 |     #[token("%")]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/value.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let receiver = self.receiver.lock().unwrap();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `receiver` calls a custom destructor
[INFO] [stdout]     |             `receiver` will be dropped later as of Edition 2024
[INFO] [stdout] 141 |         match receiver.try_recv() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `receiver` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |       ^^^^^
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/value.rs:154:15
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let receiver = self.receiver.lock().unwrap();
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `receiver` calls a custom destructor
[INFO] [stdout]     |             `receiver` will be dropped later as of Edition 2024
[INFO] [stdout] 154 |         match receiver.recv_timeout(Duration::from_millis(timeout_ms)) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 159 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `receiver` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/repl.rs:46:37
[INFO] [stdout]     |
[INFO] [stdout]  46 |                     if let Err(e) = self.execute(line) {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |    |
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/miette-7.6.0/src/eyreish/error.rs:475:1
[INFO] [stdout]     |
[INFO] [stdout] 475 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/miette-7.6.0/src/eyreish/error.rs:475:1
[INFO] [stdout]     |
[INFO] [stdout] 475 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/bytecode.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout]     |                          ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 167 -             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout] 167 +             OpCode::Jump(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/bytecode.rs:168:33
[INFO] [stdout]     |
[INFO] [stdout] 168 |             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout]     |                                 ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 168 -             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout] 168 +             OpCode::JumpIfFalse(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/bytecode.rs:169:32
[INFO] [stdout]     |
[INFO] [stdout] 169 |             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout]     |                                ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 169 -             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout] 169 +             OpCode::JumpIfTrue(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/optimizer.rs:280:30
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 OpCode::Jump(ref mut target) => {
[INFO] [stdout]     |                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 OpCode::Jump(ref mut target) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 OpCode::Jump(ref mut target) => {
[INFO] [stdout] 280 +                 OpCode::Jump(target) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/vm/optimizer.rs:285:37
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                                     ^^^^^^^                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:285:55
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:285:17
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 285 -                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout] 285 +                 OpCode::JumpIfFalse(target) | OpCode::JumpIfTrue(target)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/lexer/token.rs:231:7
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lexer/token.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            231 |     #[token("==")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:234:7
[INFO] [stderr]                |
[INFO] [stderr]            234 |     #[token("!=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:237:7
[INFO] [stderr]                |
[INFO] [stderr]            237 |     #[token("<")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:240:7
[INFO] [stderr]                |
[INFO] [stderr]            240 |     #[token(">")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:243:7
[INFO] [stderr]                |
[INFO] [stderr]            243 |     #[token("<=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:246:7
[INFO] [stderr]                |
[INFO] [stderr]            246 |     #[token(">=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:249:7
[INFO] [stderr]                |
[INFO] [stderr]            249 |     #[token("=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:252:7
[INFO] [stderr]                |
[INFO] [stderr]            252 |     #[token("→")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:255:7
[INFO] [stderr]                |
[INFO] [stderr]            255 |     #[token("->")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:259:7
[INFO] [stderr]                |
[INFO] [stderr]            259 |     #[token("(")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:262:7
[INFO] [stderr]                |
[INFO] [stderr]            262 |     #[token(")")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:265:7
[INFO] [stderr]                |
[INFO] [stderr]            265 |     #[token("{")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:268:7
[INFO] [stderr]                |
[INFO] [stderr]            268 |     #[token("}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:271:7
[INFO] [stderr]                |
[INFO] [stderr]            271 |     #[token("[")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:274:7
[INFO] [stderr]                |
[INFO] [stderr]            274 |     #[token("]")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:277:7
[INFO] [stderr]                |
[INFO] [stderr]            277 |     #[token(",")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:280:7
[INFO] [stderr]                |
[INFO] [stderr]            280 |     #[token(";")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:283:7
[INFO] [stderr]                |
[INFO] [stderr]            283 |     #[token(":")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:286:7
[INFO] [stderr]                |
[INFO] [stderr]            286 |     #[token(".")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:289:7
[INFO] [stderr]                |
[INFO] [stderr]            289 |     #[token("@")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:292:7
[INFO] [stderr]                |
[INFO] [stderr]            292 |     #[token("&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:295:7
[INFO] [stderr]                |
[INFO] [stderr]            295 |     #[token("|")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:298:7
[INFO] [stderr]                |
[INFO] [stderr]            298 |     #[token("#")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:301:7
[INFO] [stderr]                |
[INFO] [stderr]            301 |     #[token("_")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:305:7
[INFO] [stderr]                |
[INFO] [stderr]            305 |     #[regex(r"[0-9]+", |lex| lex.slice().parse::<i64>().ok())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:308:7
[INFO] [stderr]                |
[INFO] [stderr]            308 |     #[regex(r"[0-9]+\.[0-9]+", |lex| lex.slice().parse::<f64>().ok())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:311:7
[INFO] [stderr]                |
[INFO] [stderr]            311 |     #[regex(r#""([^"\\]|\\.)*""#, parse_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/token.rs:315:7
[INFO] [stderr]                |
[INFO] [stderr]            315 |     #[regex(r"[a-zA-Z][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             35 + #[derive(Logos)]
[INFO] [stderr]             36 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lexer/token.rs:5:27
[INFO] [stderr]               |
[INFO] [stderr]             5 | fn parse_string(lex: &mut logos::Lexer<Token>) -> Option<String> {
[INFO] [stderr]               |                           ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lexer/token.rs:35:1
[INFO] [stderr]               |
[INFO] [stderr]            35 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:34
[INFO] [stderr]               |
[INFO] [stderr]            13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]               |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lexer/token.rs:6:21
[INFO] [stderr]               |
[INFO] [stderr]             6 |     let slice = lex.slice();
[INFO] [stderr]               |                     ^^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            35 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]               |
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]              --> src/lexer/mod.rs:44:32
[INFO] [stderr]               |
[INFO] [stderr]            44 |         let mut lexer = Token::lexer(self.source);
[INFO] [stderr]               |                                ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lexer/token.rs:35:1
[INFO] [stderr]               |
[INFO] [stderr]            35 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]              --> src/lsp/document.rs:61:42
[INFO] [stderr]               |
[INFO] [stderr]            61 |             let mut parser = Parser::new(tokens.clone(), &self.source);
[INFO] [stderr]               |                              ----------- ^^^^^^^^^^^^^^ expected `Vec<Spanned<Token>>`, found `&Vec<Spanned<Token>>`
[INFO] [stderr]               |                              |
[INFO] [stderr]               |                              arguments to this function are incorrect
[INFO] [stderr]               |
[INFO] [stderr]               = note: expected struct `Vec<_>`
[INFO] [stderr]                       found reference `&Vec<_>`
[INFO] [stderr]            note: `Vec<lexer::Spanned<Token>>` does not implement `Clone`, so `&Vec<lexer::Spanned<Token>>` was cloned instead
[INFO] [stderr]              --> src/lsp/document.rs:61:42
[INFO] [stderr]               |
[INFO] [stderr]            61 |             let mut parser = Parser::new(tokens.clone(), &self.source);
[INFO] [stderr]               |                                          ^^^^^^
[INFO] [stderr]            help: `Clone` is not implemented because a trait bound is not satisfied
[INFO] [stderr]              --> src/lexer/mod.rs:22:20
[INFO] [stderr]               |
[INFO] [stderr]            21 | #[derive(Debug, Clone)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            22 | pub struct Spanned<T> {
[INFO] [stderr]               |                    ^ derive introduces an implicit `Token: Clone` bound
[INFO] [stderr]               = help: consider manually implementing `Clone` to avoid the implicit type parameter bounds
[INFO] [stderr]            note: associated function defined here
[INFO] [stderr]              --> src/parser/mod.rs:65:12
[INFO] [stderr]               |
[INFO] [stderr]            65 |     pub fn new(tokens: Vec<LexerSpanned<Token>>, source: &'a str) -> Self {
[INFO] [stderr]               |            ^^^ --------------------------------
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]               |
[INFO] [stderr]            61 -             let mut parser = Parser::new(tokens.clone(), &self.source);
[INFO] [stderr]            61 +             let mut parser = Parser::new(tokens.to_vec(), &self.source);
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]              --> src/lexer/token.rs:35:1
[INFO] [stderr]               |
[INFO] [stderr]            35 + #[derive(Clone)]
[INFO] [stderr]            36 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:226:64
[INFO] [stderr]                |
[INFO] [stderr]            226 |                 Ok(Spanned::new(Expr::Literal(Literal::Integer(n)), start..end))
[INFO] [stderr]                |                                               ---------------- ^ expected `i64`, found `&i64`
[INFO] [stderr]                |                                               |
[INFO] [stderr]                |                                               arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:372:5
[INFO] [stderr]                |
[INFO] [stderr]            372 |     Integer(i64),
[INFO] [stderr]                |     ^^^^^^^
[INFO] [stderr]            help: consider dereferencing the borrow
[INFO] [stderr]                |
[INFO] [stderr]            226 |                 Ok(Spanned::new(Expr::Literal(Literal::Integer(*n)), start..end))
[INFO] [stderr]                |                                                                +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:231:62
[INFO] [stderr]                |
[INFO] [stderr]            231 |                 Ok(Spanned::new(Expr::Literal(Literal::Float(f)), start..end))
[INFO] [stderr]                |                                               -------------- ^ expected `f64`, found `&f64`
[INFO] [stderr]                |                                               |
[INFO] [stderr]                |                                               arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:373:5
[INFO] [stderr]                |
[INFO] [stderr]            373 |     Float(f64),
[INFO] [stderr]                |     ^^^^^
[INFO] [stderr]            help: consider dereferencing the borrow
[INFO] [stderr]                |
[INFO] [stderr]            231 |                 Ok(Spanned::new(Expr::Literal(Literal::Float(*f)), start..end))
[INFO] [stderr]                |                                                              +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:236:63
[INFO] [stderr]                |
[INFO] [stderr]            236 |                 Ok(Spanned::new(Expr::Literal(Literal::String(s)), start..end))
[INFO] [stderr]                |                                               --------------- ^ expected `String`, found `&String`
[INFO] [stderr]                |                                               |
[INFO] [stderr]                |                                               arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:374:5
[INFO] [stderr]                |
[INFO] [stderr]            374 |     String(String),
[INFO] [stderr]                |     ^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            236 |                 Ok(Spanned::new(Expr::Literal(Literal::String(s.to_string())), start..end))
[INFO] [stderr]                |                                                                ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:261:47
[INFO] [stderr]                |
[INFO] [stderr]            261 |                     self.parse_record_literal(name, start)
[INFO] [stderr]                |                          -------------------- ^^^^ expected `String`, found `&String`
[INFO] [stderr]                |                          |
[INFO] [stderr]                |                          arguments to this method are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: method defined here
[INFO] [stderr]               --> src/parser/mod.rs:416:8
[INFO] [stderr]                |
[INFO] [stderr]            416 |     fn parse_record_literal(
[INFO] [stderr]                |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            417 |         &mut self,
[INFO] [stderr]            418 |         type_name: String,
[INFO] [stderr]                |         -----------------
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            261 |                     self.parse_record_literal(name.to_string(), start)
[INFO] [stderr]                |                                                   ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:265:37
[INFO] [stderr]                |
[INFO] [stderr]            265 |                     self.parse_call(name, start)
[INFO] [stderr]                |                          ---------- ^^^^ expected `String`, found `&String`
[INFO] [stderr]                |                          |
[INFO] [stderr]                |                          arguments to this method are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: method defined here
[INFO] [stderr]               --> src/parser/mod.rs:540:8
[INFO] [stderr]                |
[INFO] [stderr]            540 |     fn parse_call(&mut self, func_name: String, start: usize) -> Result<Spanned<Expr>, ParseError> {
[INFO] [stderr]                |        ^^^^^^^^^^            -----------------
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            265 |                     self.parse_call(name.to_string(), start)
[INFO] [stderr]                |                                         ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:267:54
[INFO] [stderr]                |
[INFO] [stderr]            267 |                     Ok(Spanned::new(Expr::Identifier(name), start..end))
[INFO] [stderr]                |                                     ---------------- ^^^^ expected `String`, found `&String`
[INFO] [stderr]                |                                     |
[INFO] [stderr]                |                                     arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:313:5
[INFO] [stderr]                |
[INFO] [stderr]            313 |     Identifier(String),
[INFO] [stderr]                |     ^^^^^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            267 |                     Ok(Spanned::new(Expr::Identifier(name.to_string()), start..end))
[INFO] [stderr]                |                                                          ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:959:54
[INFO] [stderr]                |
[INFO] [stderr]            959 |                 Ok(Pattern::Literal(Literal::Integer(n)))
[INFO] [stderr]                |                                     ---------------- ^ expected `i64`, found `&i64`
[INFO] [stderr]                |                                     |
[INFO] [stderr]                |                                     arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:372:5
[INFO] [stderr]                |
[INFO] [stderr]            372 |     Integer(i64),
[INFO] [stderr]                |     ^^^^^^^
[INFO] [stderr]            help: consider dereferencing the borrow
[INFO] [stderr]                |
[INFO] [stderr]            959 |                 Ok(Pattern::Literal(Literal::Integer(*n)))
[INFO] [stderr]                |                                                      +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]               --> src/parser/mod.rs:963:53
[INFO] [stderr]                |
[INFO] [stderr]            963 |                 Ok(Pattern::Literal(Literal::String(s)))
[INFO] [stderr]                |                                     --------------- ^ expected `String`, found `&String`
[INFO] [stderr]                |                                     |
[INFO] [stderr]                |                                     arguments to this enum variant are incorrect
[INFO] [stderr]                |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]               --> src/ast/mod.rs:374:5
[INFO] [stderr]                |
[INFO] [stderr]            374 |     String(String),
[INFO] [stderr]                |     ^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                |
[INFO] [stderr]            963 |                 Ok(Pattern::Literal(Literal::String(s.to_string())))
[INFO] [stderr]                |                                                      ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]                --> src/parser/mod.rs:1045:48
[INFO] [stderr]                 |
[INFO] [stderr]            1045 | ...                   EmoteValue::Number(f)
[INFO] [stderr]                 |                       ------------------ ^ expected `f64`, found `&f64`
[INFO] [stderr]                 |                       |
[INFO] [stderr]                 |                       arguments to this enum variant are incorrect
[INFO] [stderr]                 |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]                --> src/ast/mod.rs:414:5
[INFO] [stderr]                 |
[INFO] [stderr]             414 |     Number(f64),
[INFO] [stderr]                 |     ^^^^^^
[INFO] [stderr]            help: consider dereferencing the borrow
[INFO] [stderr]                 |
[INFO] [stderr]            1045 |                             EmoteValue::Number(*f)
[INFO] [stderr]                 |                                                +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]                --> src/parser/mod.rs:1049:48
[INFO] [stderr]                 |
[INFO] [stderr]            1049 | ...                   EmoteValue::String(s)
[INFO] [stderr]                 |                       ------------------ ^ expected `String`, found `&String`
[INFO] [stderr]                 |                       |
[INFO] [stderr]                 |                       arguments to this enum variant are incorrect
[INFO] [stderr]                 |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]                --> src/ast/mod.rs:415:5
[INFO] [stderr]                 |
[INFO] [stderr]             415 |     String(String),
[INFO] [stderr]                 |     ^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                 |
[INFO] [stderr]            1049 |                             EmoteValue::String(s.to_string())
[INFO] [stderr]                 |                                                 ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0308]: mismatched types
[INFO] [stderr]                --> src/parser/mod.rs:1053:52
[INFO] [stderr]                 |
[INFO] [stderr]            1053 | ...                   EmoteValue::Identifier(id)
[INFO] [stderr]                 |                       ---------------------- ^^ expected `String`, found `&String`
[INFO] [stderr]                 |                       |
[INFO] [stderr]                 |                       arguments to this enum variant are incorrect
[INFO] [stderr]                 |
[INFO] [stderr]            note: tuple variant defined here
[INFO] [stderr]                --> src/ast/mod.rs:416:5
[INFO] [stderr]                 |
[INFO] [stderr]             416 |     Identifier(String),
[INFO] [stderr]                 |     ^^^^^^^^^^
[INFO] [stderr]            help: try using a conversion method
[INFO] [stderr]                 |
[INFO] [stderr]            1053 |                             EmoteValue::Identifier(id.to_string())
[INFO] [stderr]                 |                                                      ++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0606]: casting `&i64` as `f64` is invalid
[INFO] [stderr]                --> src/parser/mod.rs:1041:48
[INFO] [stderr]                 |
[INFO] [stderr]            1041 | ...                   EmoteValue::Number(n as f64)
[INFO] [stderr]                 |                                          ^^^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]            help: dereference the expression
[INFO] [stderr]                 |
[INFO] [stderr]            1041 |                             EmoteValue::Number(*n as f64)
[INFO] [stderr]                 |                                                +
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/interpreter/value.rs:141:15
[INFO] [stderr]                |
[INFO] [stderr]            140 |         let receiver = self.receiver.lock().unwrap();
[INFO] [stderr]                |             --------
[INFO] [stderr]                |             |
[INFO] [stderr]                |             `receiver` calls a custom destructor
[INFO] [stderr]                |             `receiver` will be dropped later as of Edition 2024
[INFO] [stderr]            141 |         match receiver.try_recv() {
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |               |
[INFO] [stderr]                |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            146 |     }
[INFO] [stderr]                |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stderr]            note: `receiver` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/interpreter/value.rs:154:15
[INFO] [stderr]                |
[INFO] [stderr]            153 |         let receiver = self.receiver.lock().unwrap();
[INFO] [stderr]                |             --------
[INFO] [stderr]                |             |
[INFO] [stderr]                |             `receiver` calls a custom destructor
[INFO] [stderr]                |             `receiver` will be dropped later as of Edition 2024
[INFO] [stderr]            154 |         match receiver.recv_timeout(Duration::from_millis(timeout_ms)) {
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |               |
[INFO] [stderr]                |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            159 |     }
[INFO] [stderr]                |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stderr]            note: `receiver` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/repl.rs:46:37
[INFO] [stderr]                |
[INFO] [stderr]             46 |                     if let Err(e) = self.execute(line) {
[INFO] [stderr]                |                                -    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                                |    |
[INFO] [stderr]                |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                                `e` calls a custom destructor
[INFO] [stderr]                |                                `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]             49 |                 }
[INFO] [stderr]                |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/miette-7.6.0/src/eyreish/error.rs:475:1
[INFO] [stderr]                |
[INFO] [stderr]            475 | impl Drop for Report {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/miette-7.6.0/src/eyreish/error.rs:475:1
[INFO] [stderr]                |
[INFO] [stderr]            475 | impl Drop for Report {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 109 previous errors; 3 warnings emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0308, E0599, E0606.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]    Migrating src/bin/wokelang-dap.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/woke-lsp.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/lsp_handler_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/vm_bench.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/sexpr.rs (1 fix)
[INFO] [stderr]    Migrating tests/codegen_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/property_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/e2e_full_pipeline_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/lsp_integration_test.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.58s
[INFO] [stderr] crater-edition-check: wokelang v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking wokelang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/bytecode.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout]     |                          ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 167 -             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout] 167 +             OpCode::Jump(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/bytecode.rs:168:33
[INFO] [stdout]     |
[INFO] [stdout] 168 |             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout]     |                                 ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 168 -             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout] 168 +             OpCode::JumpIfFalse(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/bytecode.rs:169:32
[INFO] [stdout]     |
[INFO] [stdout] 169 |             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout]     |                                ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 169 -             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout] 169 +             OpCode::JumpIfTrue(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/optimizer.rs:280:30
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 OpCode::Jump(ref mut target) => {
[INFO] [stdout]     |                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 OpCode::Jump(ref mut target) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 OpCode::Jump(ref mut target) => {
[INFO] [stdout] 280 +                 OpCode::Jump(target) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/optimizer.rs:285:37
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                                     ^^^^^^^                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:285:55
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:285:17
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 285 -                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout] 285 +                 OpCode::JumpIfFalse(target) | OpCode::JumpIfTrue(target)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wokelang` (lib) due to 5 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `ch`
[INFO] [stdout]    --> src/stdlib/chan.rs:409:13
[INFO] [stdout]     |
[INFO] [stdout] 409 |         let ch = unwrap_channel(&channel);
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/stdlib/json.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut caps = CapabilityRegistry::permissive();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/bytecode.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout]     |                          ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 167 -             OpCode::Jump(ref mut t) => *t = target,
[INFO] [stdout] 167 +             OpCode::Jump(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/bytecode.rs:168:33
[INFO] [stdout]     |
[INFO] [stdout] 168 |             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout]     |                                 ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 168 -             OpCode::JumpIfFalse(ref mut t) => *t = target,
[INFO] [stdout] 168 +             OpCode::JumpIfFalse(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/bytecode.rs:169:32
[INFO] [stdout]     |
[INFO] [stdout] 169 |             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout]     |                                ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/bytecode.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 169 -             OpCode::JumpIfTrue(ref mut t) => *t = target,
[INFO] [stdout] 169 +             OpCode::JumpIfTrue(t) => *t = target,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/optimizer.rs:280:30
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 OpCode::Jump(ref mut target) => {
[INFO] [stdout]     |                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 OpCode::Jump(ref mut target) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 OpCode::Jump(ref mut target) => {
[INFO] [stdout] 280 +                 OpCode::Jump(target) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/vm/optimizer.rs:285:37
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                                     ^^^^^^^                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:285:55
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/vm/optimizer.rs:285:17
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 285 -                 OpCode::JumpIfFalse(ref mut target) | OpCode::JumpIfTrue(ref mut target)
[INFO] [stdout] 285 +                 OpCode::JumpIfFalse(target) | OpCode::JumpIfTrue(target)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wokelang` (lib test) due to 5 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9f8f839d225d1725b131372aea63bc57e9f265e92223f7d469e5e078daea83f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f8f839d225d1725b131372aea63bc57e9f265e92223f7d469e5e078daea83f8", kill_on_drop: false }`
[INFO] [stdout] 9f8f839d225d1725b131372aea63bc57e9f265e92223f7d469e5e078daea83f8
